﻿using Admin.Core.Common.Input;
using Admin.Core.Common.Output;
using Admin.Core.Common.ParamInput;
using Admin.Core.Service.Xsproject.TaskItem.Input;
using Admin.Core.Service.Xsproject.TaskItem.Output;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace Admin.Core.Service.Xsproject.TaskItem
{
    public interface ITaskItemService
    {
        Task<IResponseOutput> TaskBeginAsync(TaskBeginInput input);
        Task<IResponseOutput> GetAllDetailPageAsync(long wlId);
        Task<IResponseOutput> InitAsync(CommonIdInput input);
        Task<IResponseOutput> GetTaskItemsAsync(long id, long projectId, long? taskId);
        Task<IResponseOutput> AddAsync(TaskItemAddInput input);
        Task<IResponseOutput> GetTaskItemAsync(long id);
        Task<IResponseOutput> UpdateTaskItemAsync(TaskItemUpdateInput input);
        Task<IResponseOutput> GetGanttDataAsync(long id);
        Task<IResponseOutput> UpdateTaskAsync(List<TaskItemUpdateInput> uplist);
        Task<IResponseOutput> PageAsync(PageInput<ConmonFilterInput> input);
        Task<IResponseOutput> GetUpTaskAsync(long id);
    }
}
